import { post } from "@/api/request";

/**
 * 消息控制器 / 消息控制器消息已读
 * @param {object} data
 * @param {number} [data.businessId] businessId
 * @param {string} [data.type] 消息类型 可选值: NOTIFY, TODO
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<number>}
 * @author 陈凯
 */
export function workbenchMessageIsRead(data, config) {
  return post("/workbench/message/isRead", data, config);
}

/**
 * 消息控制器 / 消息控制器分页查询消息列表
 * @param {object} data
 * @param {number} [data.length] 分页大小
 * @param {number} [data.orderAsc] 排序方向
 * @param {string} [data.orderColum] 排序字段
 * @param {number} [data.pageIndex] 分页下标
 * @param {number} [data.start] 查询记录起始下标
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<分页返回实体<MessageVO>>}
 * @author 方昊
 */
export function workbenchMessageList(data, config) {
  return post("/workbench/message/list", data, config);
}

/**
 * @template T
 * @typedef {Object} 分页返回实体
 * @property {T[]} content - 内容
 * @property {number} elementsNo
 * @property {number} limit
 * @property {number} number
 * @property {number} totalElements
 * @property {number} totalPages
 * @description 分页返回实体
 */

/**
 * @typedef {object} MessageVO 消息展示实体
 * @property {string} auditStatus 审核状态 可选值: APPROVED, NOT_SUBMITTED, REVIEW_REJECTION, UNDER_REVIEW
 * @property {string} businessId 业务ID
 * @property {string} businessType 业务类型
 * @property {number} communicationId 传阅ID
 * @property {string} content 内容
 * @property {string} createDate 创建时间
 * @property {string} createUserId 操作人ID
 * @property {string} createUserRealName 操作人
 * @property {string} id 主键ID
 * @property {string} messageType 消息类型 可选值: NOTIFY, TODO
 * @property {string} title 标题
 * @description 消息展示实体
 */
